import { makeAutoObservable, runInAction } from 'mobx';
import axios from '../utils/axios';
class Classfiy {

    // 类目列表数据
    classifyList = [];
    constructor() {
        makeAutoObservable(this);
    }


    // 请求类目列表数据
    async getClassifyList() {
        const res = await axios.get('/classifyList', {
            params: {
                istree: 1
            }
        });
        runInAction(() => {
            if (res.code === 200) {
                this.classifyList = res.data;
                this.classifyList.unshift({
                    id: 0,
                    name: '顶级类目'
                });
            }
        })

    }

    // 新增类目
    async addClassify(classfiyData) {
        const res = await axios.put('/classifyAdd', classfiyData);
        if (res.code === 200) {
            // 重新请求类目数据
            this.getClassifyList();
        }
        return res;
    }

    // 更新类目数据
    async updateClassify(classfiyData) {
        const res = await axios.post('/classifyUpdate', classfiyData);
        if (res.code === 200) {
            // 重新请求类目列表数据
            this.getClassifyList();
        }
        return res;
    }

    // 删除类目数据
    async remvoeClassify(id) {
        const res = await axios.delete('/classifyRemove', {
            params: {
                id
            }
        });
        if (res.code === 200) {
            // 重新请求类目列表数据
            this.getClassifyList();
        }
        return res;
    }

}

export default new Classfiy();